Customized Program Mutation: Inferring Mutant Utility from Program Context
نویسندگان
چکیده
ABSTRACT The purpose of selective mutation strategies is to reduce the inherent redundancy of full mutation analysis and hence obtain most of its bene t for a fraction of the cost. Unfortunately, recent research has shown that there is no xed selective mutation strategy that is e ective across a broad range of programs. In other words, for any given mutation operator, the utility (i.e., usefulness) of a mutant produced by that operator varies greatly across programs. Hence, selective mutation, as currently de ned, is a dead end despite the fact that existing mutation systems are known to produce highly redundant mutants. This paper explores a novel path out of this conundrum. Speci cally, it hypothesizes that mutant utility, in terms of equivalency, triviality, and dominance, can be predicted by incorporating context information from the program in which the mutant is embedded. This paper rst explains the intuition behind this hypothesis with a motivational example and then tests the hypothesis by evaluating the predictive power of a series of program-context models and machine learning classi ers. The results show that it is important to consider mutants at the mutation operator level, and not just at the mutation operator group level. Further, the results show that context extracted from a program’s abstract syntax tree can indeed strongly predict mutant utility. The cross-validation results additionally show that mutant utility can be predicted within and across programs, with an area under the ROC curve above 0.8.
منابع مشابه
Evaluation of an evaluation
Introduction. Evaluation is a systematic way to improve and make more effective actions that involves procedures which are useful, feasible, ethical, and accurate. Common questions in all evaluations are: do all part of program do well and effective? What is the good functioning? Why the program or its parts do not work well? What are the effects and consequences of the program? Is this progra...
متن کاملObvious Properties of Computer Programs
We explore the question of what properties of LISP programs can be made \obvious" to a computer system. We present a polynomial-time algorithm for inferring interesting properties of pure LISP programs. Building on previous work in knowledge representation for rapid inference, we present a language for representing properties of programs. We treat properties as generalized types, i.e., sets of ...
متن کاملThe Mutation of the rpoS Gene, the Central Regulator of Stationary Phase, Affects the Cell Division in Flexibacter chinensis
A one kb portion of the rpoS gene from Flexibacter chinensis was isolated by PCR, sequenced and compared to the rpoS gene of a variety of other organisms. The gene was found to be 98% similar to previously sequenced genes. Mutation of the rpoS gene with tri-parental mating produced strain JR101 and the growth rate of the mutant was compared with that of the wild-type. The mutant grew slower, an...
متن کاملInvestigation of Bovine Leukocyte Adhesion Deficiency (BLAD) and Complex Vertebral Malformation (CVM) in a Population of Iranian Holstein Cows
In the present research, molecular detection of bovine leukocyte adhesion deficiency (BLAD) and complex vertebral malformation (CVM)in a population of Iranian Holstein cows has been carried outusing milk somatic cells by polymerase chain reaction-restriction fragment length polymorphism(PCR-RFLP). The BLAD and CVM are monogenic and autosomal recessive heredity lethal syndrome in Holstein-Friesi...
متن کاملSource Code Optimization using Equivalent Mutants
Context: A mutant is a program obtained by syntactically modifying a program’s source code; an equivalent mutant is a mutant, which is functionally equivalent to the original program. Mutants are primarily used in mutation testing, and when deriving a test suite, obtaining an equivalent mutant is considered to be highly negative, although these equivalent mutants could be used for other purpose...
متن کامل